﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Coldairarrow.Entity.Interface
{
    /// <summary>
    /// 九方出库订单
    /// </summary>
    /// 


    public class JF_Order
    {
        public string ID { get; set; }
        public string RowId { get; set; }


        /// <summary>
        /// 状态
        /// </summary>
        public string status_;
        public string status {
            get { return status_; }

            set {
                if (value == "SUBMIT") status_ = "已提交";
                else if (value == "WAIT_PROCESSED") status_ = "预报成功";
                else if (value == "PROCESSED") status_ = "出库中";
                else if (value == "SUCCESS") status_ = "已出库";
                else if (value == "DISCARD_PROCESSED") status_ = "取消中";
                else if (value == "DISCARD") status_ = "已取消";
                else if (value == "PROBLEM") status_ = "问题件";
                else if (value == "EXCEPTION") status_ = "出库异常";
                else status_ = value;
            }
        
        
        }
        /// <summary>
        /// 系统订单号
        /// </summary>
        public string soNo { get; set; }
        /// <summary>
        /// 客户单号
        /// </summary>
        public string custRefNo { get; set; }

        /// <summary>
        /// 物流产品代码
        /// </summary>
        public string carriersCode { get; set; }

        /// <summary>
        /// 订单服务属性
        /// </summary>
        //public List<string>  orderProperty { get; set; }


        /// <summary>
        /// 备注
        /// </summary>
        public string remark { get; set; }

        /// <summary>
        /// 仓库代码	
        /// </summary>
        public string whCode { get; set; }
        /// <summary>
        /// 仓库名称
        /// </summary>
        public string whName { get; set; }
        /// <summary>
        /// 创建时间	
        /// </summary>
        public string createTime { get; set; }
        /// <summary>
        /// 收件公司名称	
        /// </summary>
        public string consigneeCpyName { get; set; }

        /// <summary>
        /// 收件名称
        /// </summary>
        public string consigneeName { get; set; }

        /// <summary>
        /// 收件电话
        /// </summary>
        public string consigneeTel { get; set; }

        /// <summary>
        /// 收件电话拓展
        /// </summary>
        public string consigneeTelExt { get; set; }
        /// <summary>
        /// 收件邮箱
        /// </summary>
        public string consigneeEmail { get; set; }
        /// <summary>
        /// 收件国家
        /// </summary>
        public string consigneeCountryCode { get; set; }
        /// <summary>
        /// 收件省/州
        /// </summary>
        public string consigneeProvince { get; set; }
        /// <summary>
        /// 收件城市
        /// </summary>
        public string consigneeCity { get; set; }
        /// <summary>
        /// 收件门牌号
        /// </summary>
        public string consigneeHouseNumber { get; set; }
        /// <summary>
        /// 收件地址1
        /// </summary>
        public string consigneeAddress1 { get; set; }
        /// <summary>
        /// 收件地址2
        /// </summary>
        public string consigneeAddress2 { get; set; }
        /// <summary>
        /// 收件地址3
        /// </summary>
        public string consigneeAddress3 { get; set; }
        /// <summary>
        /// 收件邮编
        /// </summary>
        public string consigneePostalCode { get; set; }
        /// <summary>
        /// 问题件描述
        /// </summary>
        public string problemDesc { get; set; }
        /// <summary>
        /// 出库时间
        /// </summary>
        public string confirmTime { get; set; }
        /// <summary>
        /// 末端服务商代码
        /// </summary>
        public string endProviderCode { get; set; }
        /// <summary>
        /// 平台代码
        /// </summary>
        public string platformCode { get; set; }
        /// <summary>
        /// 平台备注
        /// </summary>
        public string platformRemark { get; set; }
        /// <summary>
        /// 出库异常备注
        /// </summary>
        public string seRemark { get; set; }
        /// <summary>
        /// 订单label 下载路径
        /// </summary>
        public string shopRemark { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string shopTel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string specifiedDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string specifiedTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string labelFileUrl { get; set; }
        /// <summary>
        /// 出库商品信息
        /// </summary>
        public List<SoSkuList> soSkuList { get; set; }
        /// <summary>
        /// 系统商品代码
        /// </summary>
        public string soSkuList_skuCode { get; set; }
        /// <summary>
        /// 客户商品代码
        /// </summary>
        public string soSkuList_custSkuCode { get; set; }
        /// <summary>
        /// 出库数量
        /// </summary>
        public string soSkuList_skuQty { get; set; }

        public class SoSkuList
        {
            /// <summary>
            /// 系统商品代码
            /// </summary>
            public string skuCode { get; set; }
            /// <summary>
            /// 客户商品代码
            /// </summary>
            public string custSkuCode { get; set; }
            /// <summary>
            /// 出库数量
            /// </summary>
            public string skuQty { get; set; }

        }

        /// <summary>
        /// 箱号信息
        /// </summary>
        public List<PackList> packList { get; set; }

        public class PackList
        {
            /// <summary>
            /// 系统箱号
            /// </summary>
            public string packageNo { get; set; }
            /// <summary>
            /// 箱子label 下载url
            /// </summary>
            public string labelFileUrl { get; set; }
            /// <summary>
            /// 跟踪单号
            /// </summary>
            public string trackingNo { get; set; }
            /// <summary>
            /// 包裹长(公制单位：CM)
            /// </summary>
            public string length { get; set; }
            /// <summary>
            /// 包裹宽(公制单位：CM)
            /// </summary>
            public string width { get; set; }
            /// <summary>
            /// 包裹高(公制单位：CM)
            /// </summary>
            public string height { get; set; }
            /// <summary>
            /// 包裹重量(公制单位：KG)
            /// </summary>
            public string weight { get; set; }
            /// <summary>
            /// 包裹计费重(公制单位：KG)
            /// </summary>
            public string billableWeight { get; set; }

        }
        /// <summary>
        /// SN列表
        /// </summary>
        public List<SnList> snList { get; set; }

        public class SnList
        {
            /// <summary>
            /// 系统商品代码
            /// </summary>
            public string skuCode { get; set; }
            /// <summary>
            /// 客户商品代码
            /// </summary>
            public string custSkuCode { get; set; }
            /// <summary>
            /// 商品sn
            /// </summary>
            public string sn { get; set; }

        }

    }

}
